package com.whfc.fuum.dao;

import com.whfc.fuum.dto.open.AccessTokenDTO;
import com.whfc.fuum.entity.OpenApiToken;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;

@Repository
public interface OpenApiTokenMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(OpenApiToken record);

    int insertSelective(OpenApiToken record);

    OpenApiToken selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(OpenApiToken record);

    int updateByPrimaryKey(OpenApiToken record);

    /**
     * 根据token查询
     *
     * @param accessToken
     * @return
     */
    OpenApiToken selectByAccessToken(@Param("accessToken") String accessToken);

    /**
     * 根据组织机构查找token
     *
     * @param deptId     组织机构ID
     * @param expireTime 过期时间
     * @return token
     */
    AccessTokenDTO selectByDeptId(@Param("deptId") Integer deptId, @Param("expireTime") Date expireTime);
}